通常网络请求使用AFNetworking我们都会将字典作为参数传给服务端,如果应用对数据的安全级别要求较高,这时肯定会将参数加密后再传输,那么上传的参数就变成一串看不懂的字符串,我们只需要设置AFHTTPSessionManager
中几个类型即可直接上传字符。
配置参数请求和接收类型
|
|
配置完成后发送请求,可能会发现服务端接收的字符串前面莫名的多出’=’符号,查看源码发现AFURLRequestSerialization
文件中下面的方法引起的
顺藤摸瓜发现AFQueryStringFromParameters
函数中使用到了- URLEncodedStringValue
方法。发现如下代码使用到了AFQueryStringFromParameters
函数,如果实现self.queryStringSerialization
属性就可以解决’=’问题。
解决’=’方法
|
|
总结
- 不建议修改直接源码达到去掉’=’目的,通常可能因为源码版本更新而遗忘。
- 如果使用原生网络请求可以直接通过
[request setHTTPBody:data]
来实现字符串或其他数据传输。